#pragma once

#include "OgreExIMessage.h"

namespace OgreEx
{
	template <class ValueType>
	class Message : public IMessage
	{
	public:
		Message(const ValueType& value) : mValue(value)
		{
		}
		virtual ~Message()
		{
		}

	public:
		/// Gets the value carried by the message.
		inline const ValueType &value() const
		{
			return mValue;
		}

	protected:
		ValueType mValue;
	};
}